package flow.model;

import m.common.model.FieldMeta;
import m.common.model.LinkTableMeta;
import m.common.model.Model;
import m.common.model.TableMeta;
import m.common.model.type.FieldType;
import manage.model.AdminLogin;
import manage.model.OrgGroupView;

import java.util.Date;

@TableMeta(name="of_flow_item_test",description="流程项目测试")
public class FlowItemTest extends Model {
    @FieldMeta(name="item_num",type= FieldType.STRING,length=200,description="项目编号")
    private String itemNum;
    @FieldMeta(name="item_name",type= FieldType.STRING,length=500,description="项目名称")
    private String itemName;
    @FieldMeta(name="item_content",type= FieldType.STRING,length=2000,description="项目内容")
    private String itemContent;
    @FieldMeta(name="level",type= FieldType.INT,description="项目级别")
    private Integer level;
    @FieldMeta(name="item_status",type= FieldType.STRING,length=50,description="项目状态",dictType = "flowItemStatus")
    private String itemStatus;
    @FieldMeta(name="amount",type= FieldType.DOUBLE,description="金额")
    private Double amount;
    @FieldMeta(name="start_date",type=FieldType.DATE,description="开始时间")
    private Date startDate;
    @FieldMeta(name="end_date",type=FieldType.DATE,description="结束时间")
    private Date endDate;
    @LinkTableMeta(name="duty_org_oid",table= OrgGroupView.class,description="负责部门")
    private OrgGroupView dutyOrg;
    @LinkTableMeta(name="duty_user_oid",table= AdminLogin.class,description="负责人")
    private AdminLogin dutyUser;
    @FieldMeta(name="join_org",type= FieldType.STRING,length=500,description="参加部门",dictType = "manage.model.AdminGroup:C")
    private String[] joinOrg;
    @FieldMeta(name="join_user",type= FieldType.STRING,length=500,description="参加人",dictType = "manage.model.AdminLogin")
    private String[] joinUser;

    @LinkTableMeta(name="apply_user_oid",table= AdminLogin.class,description="申请人")
    private AdminLogin applyUser;
    @LinkTableMeta(name="apply_org_oid",table= OrgGroupView.class,description="申请部门")
    private OrgGroupView applyOrg;
    @FieldMeta(name="create_date",type=FieldType.DATE,description="创建时间")
    private Date createDate;
    @FieldMeta(name="flow_status",type=FieldType.STRING, description="流程状态",dictOption = "Y:已完成,C:草稿,A:审核中")
    private String flowStatus;
    @FieldMeta(name="flow_remark",type=FieldType.STRING,length=200, description="流程备注")
    private String flowRemark;

    public String getItemNum() {
        return itemNum;
    }

    public void setItemNum(String itemNum) {
        this.itemNum = itemNum;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getItemContent() {
        return itemContent;
    }

    public void setItemContent(String itemContent) {
        this.itemContent = itemContent;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public String getItemStatus() {
        return itemStatus;
    }

    public void setItemStatus(String itemStatus) {
        this.itemStatus = itemStatus;
    }

    public Double getAmount() {
        return amount;
    }

    public void setAmount(Double amount) {
        this.amount = amount;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public OrgGroupView getDutyOrg() {
        return dutyOrg;
    }

    public void setDutyOrg(OrgGroupView dutyOrg) {
        this.dutyOrg = dutyOrg;
    }

    public AdminLogin getDutyUser() {
        return dutyUser;
    }

    public void setDutyUser(AdminLogin dutyUser) {
        this.dutyUser = dutyUser;
    }

    public String[] getJoinOrg() {
        return joinOrg;
    }

    public void setJoinOrg(String[] joinOrg) {
        this.joinOrg = joinOrg;
    }

    public String[] getJoinUser() {
        return joinUser;
    }

    public void setJoinUser(String[] joinUser) {
        this.joinUser = joinUser;
    }

    public AdminLogin getApplyUser() {
        return applyUser;
    }

    public void setApplyUser(AdminLogin applyUser) {
        this.applyUser = applyUser;
    }

    public OrgGroupView getApplyOrg() {
        return applyOrg;
    }

    public void setApplyOrg(OrgGroupView applyOrg) {
        this.applyOrg = applyOrg;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getFlowStatus() {
        return flowStatus;
    }

    public void setFlowStatus(String flowStatus) {
        this.flowStatus = flowStatus;
    }

    public String getFlowRemark() {
        return flowRemark;
    }

    public void setFlowRemark(String flowRemark) {
        this.flowRemark = flowRemark;
    }
}
